package com.cyl.h5.domain.form;

import com.alibaba.fastjson.annotation.JSONField;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 
 * @author Administrator
作用
当观众在观看页领取卡券时，企业直播会对所设置的接口地址进行回调通知。

配置方式
将接收回调通知的接口地址提供给企业直播技术支持。

回调频率限制
100 次/秒

详情
设置回调的接口地址后，当观众在观看页领取卡券时，企业直播会将直播间 ID、卡券相关信息以及领取卡券的观众信息以 POST 方式提交给您自定义的回调接口地址。
请求示例如下所示：
https://www.volcengine.com/docs/3019/1360533
 *
 */
@ApiModel("卡券领取回调")
@Data
public class ActivityPickupCouponCallBackForm {
    @JSONField(name = "ActivityId")
	private	String	ActivityId;//	直播间 ID。
    
    @JSONField(name = "AccountId")
	private	String	AccountId;//	账号 ID。
    
    @JSONField(name = "Id")
	private	String	Id;//	卡券互动工具 ID。
    
    @JSONField(name = "CouponId")
	private	String	CouponId;//	卡券 ID。
    
    @JSONField(name = "CouponName")
	private	String	CouponName;//	卡券名称。
    
    @JSONField(name = "ThirdPartyId")
	private	String	ThirdPartyId;/**	
									关联卡券 ID，即您自有商城系统中的卡券 ID。
									通过该 ID，可将当前卡券绑定您商城系统中的卡券，方便后续卡券的发放以及在商城内的核销。
									**/
    
    @JSONField(name = "SendTime")
	private	String	SendTime;//	卡券互动工具的发送时间。Unix 时间戳，单位为秒。
    
    @JSONField(name = "EventType")
	private	String	EventType;//	ActivityPickupCouponCallBack
    
    @JSONField(name = "UserNickName")
	private	String	UserNickName;//	领取卡券的观众的昵称。
    
    @JSONField(name = "UserId")
	private	String	UserId;//	领取卡券的观众的用户 ID。
    
    @JSONField(name = "ExternalUserId")
	private	String	ExternalUserId;/**	
											领取卡券的观众的关联用户 ID，即观众在第三方平台的唯一标识。
											您可以根据该 ID 识别企业自身的用户身份，以便于后续卡券的发放。
											观众通过不同方式登录直播间，关联用户 ID 的取值如下所示。
											微信：观众在企业直播微信服务号的 OpenID。
											企业微信：绑定企业直播的企业内部成员 OpenID。
											自定义：自定义登录时通过 UserId 传入的值。详见自定义登录。
											OAuth 2.0：您自有账号系统中用户 ID 对应的字段。
											飞书：绑定企业直播的飞书企业成员 Open ID。
											手机号：观众通过手机号注册企业直播后生成的 passport_id。
											白名单：观众输入的白名单校验信息。
											说明
											如果您集成了观播 SDK，且 SDK 的鉴权模式为自定义模式，关联用户 ID 的取值为调用 GetSDKTokenAPI 接口时传入的 UserIdStr（观众 ID）。
									**/
    
    @JSONField(name = "PickupTime")
	private	String	PickupTime	;//	卡券的领取时间。Unix 时间戳，单位为秒。
    
    @JSONField(name = "RequestUuid")
	private	String	RequestUuid	;//	请求回调的唯一标识。
    
    @JSONField(name = "Sign")
	private	String	Sign;
							/**	
								校验签名。
								完成以下步骤，计算校验签名。
								按照 AccountSecret、AccountId、ActivityId、CouponId、EventType、ExternalUserId、Id、ThirdPartyId、UserId 的顺序，拼接对应的参数值。
								将拼接后的内容进行 MD5 加密生成 32 位小写字符串。
							**/

	
}
